home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / DESQVIEW / QW12INST.ARJ / XB.TEC < prev    next >
Text File  |  1991-12-17  |  5KB  |  102 lines

  1. ID: XB
  2. Quarterdeck Technical Note #218
  3. By:  Russell Bell
  4.  
  5.  
  6.  
  7.      This document explains how to use the "EXCLUDEBANK" ("XB") switch 
  8. of DESQview and to find out how it may help you run a program that will 
  9. not run inside DESQview when it will run outside of DESQview. 
  10.  
  11. WHAT IS THE STORY?
  12.      DESQview completely takes over 16 software interrupts in order to 
  13. divert the 16 hardware interrupts (which normally are located at 
  14. software interupts 08-0F and 70-77.) If a program running inside a 
  15. DESQview window requires one or more of the interrupts DESQview uses for 
  16. this purpose, DESQview can be told to leave that interrupt or group of 
  17. interrupts alone with the EXCLUDEBANK (XB) switch.
  18.  
  19. WHAT DOES THE EXCLUDEBANK (XB) SWITCH DO?
  20.      The XB switch tells DESQview not to use a group of software 
  21. interrupts.  A bank of interrupts is eight consecutive interrupts.  
  22. DESQview will then find another bank of interrupts to use.
  23.  
  24. WHY SHOULD I USE THE XB SWITCH?
  25.      If you are trying to run a program inside DESQview that wants to 
  26. use a software interrupt that DESQview is using then this switch can 
  27. tell DESQview not to use a bank of interrupts.  You do not need to use 
  28. this switch to keep DESQview from using an interrupt being used by a 
  29. program loaded before DESQview:  DESQview properly recognizes interrupts 
  30. being used before it is loaded. 
  31.  
  32. HOW DO I KNOW IF MY PROGRAM IS USING A PARTICULAR INTERRUPT?
  33.      Load the program with Manifest resident, then pop Manifest up over 
  34. the program and look at the FirstMeg/Interrupts screen.  In the second 
  35. column is a list of the programs using interrupts.  In the following 
  36. column are listed the interrupts being taken by this program.
  37.  
  38. HOW DO I KNOW IF DESQVIEW IS TAKING ONE OF THESE INTERRUPTS?
  39.      Start DESQview with the switches /FB and /SB:
  40.  
  41.      DV /FB /SB
  42.  
  43. This will cause DESQview to report the beginning address of each bank of 
  44. interrupts used with the message:
  45.  
  46.      First bank diverted to XXH
  47.      Second bank diverted to YYH
  48.  
  49. where XX is the hexadecimal number of the first interrrupt of the first 
  50. bank and YY is the hexadecimal number of the first interrupt of the 
  51. second bank.
  52.  
  53. WHAT INTERRUPTS ARE IN QUESTION?
  54.      Only the interrupts from 50-5F, 68-6F, and above 77 are in question 
  55. here.  DESQview must grab many of the interrupts below 50 in order to 
  56. make the services to which they relate (keyboard, screen, mouse, timer, 
  57. i/o ports, network, etc.) accessible to all windows.  Just because your 
  58. program is using an interrupt below 50 (and 60-67 or 70-77) that 
  59. DESQview also uses does not mean that the program cannot see the 
  60. interrupt in DESQview; DESQview is passing it along to the application. 
  61. Many applications may use the interrupts below 50 (and 60-67 or 70-77) 
  62. and DESQview must take control of these interrupts to allow the programs 
  63. in different windows to share them properly.  The interrupts DESQview 
  64. uses to divert hardware interrupts are not available to every window but 
  65. are used solely by DESQview.
  66.  
  67. HOW DOES DESQVIEW CHOOSE THE INTERRUPTS IT USES FOR THIS PURPOSE? 
  68.      DESQview chooses two separate banks of eight consecutive interrupts 
  69. that are not already being used when DESQview is started.  It chooses a 
  70. bank beginning only on multiples of 8 (Since this is hexadecimal then 
  71. the first interrupt in a bank ends in a 0 or an 8.)  It begins its 
  72. search for a place for the first bank at 50 and for the second bank at 
  73. 68.  
  74.  
  75. HOW DO I USE THE EXCLUDEBANK SWITCH?
  76.      If you have discovered that a program uses one of the interrupts in 
  77. question and that DESQview is also grabbing that interrupt for the 
  78. purpose of diverting hardware interrupts DESQview can be instructed not 
  79. to use the interrupt in question by invoking DESQview with the "/XB:??" 
  80. switch where "??" is the number of the interrupt in question.  If the 
  81. interrupt in question is 57 then the appropriate switch is /XB:57.
  82.  
  83. WHAT IF I NEED TO KEEP DESQVIEW FROM USING MORE THAN ONE INTERRUPT?
  84.      The /XB switch may be used multiple times.  If both interrupts in 
  85. question are in the same group of eight then only one /XB needs to be 
  86. used.
  87.      For example:
  88.      DV /XB:57 /XB:79
  89.  
  90. WITH WHAT VERSIONS OF DESQVIEW DOES THIS WORK? 
  91.      You must have DESQview 2.30 or up for the /XB switch to work.  For 
  92. versions of DESQview before 2.30 DESQview must be told which banks of 
  93. interrupts to use with the "/FIRSTBANK" ("/FB")  and "/SECONDBANK" 
  94. ("/SB") switch.  To do this you must find two banks of unused interrupts 
  95. and put the first bank in one and the second in the other.  Say you wish 
  96. to have DESQview not use 7A and the interrupts from 88 to 98 are unused 
  97. then you may use the switches "/FB:88 /SB:90" to make sure that DESQview 
  98. does not use 7A for either bank of interrupts.
  99.      For example:
  100.      DV /FB:88 /SB:90
  101.  
  102.